#include "ti/driverlib/dl_gpio.h"
#include "ti/driverlib/dl_timerg.h"
#include "ti_msp_dl_config.h"
//使用TIMERG0的通道0和1,PWM 1/1000 分辨率
void Motor_Init(void)
{
	DL_TimerG_startCounter(TIMG0);
}
//停止态输入1(不知名原因导致输入0满载)，初始态最好高于7%，即输入70
void Motor_left(int16_t speed)//因为通过改变正负来改变方向，所以用int8_t，左侧电机
{
	//通过改变输入引脚的相对极性来切换方向
	if(speed >= 0){
		DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_14);
        DL_GPIO_clearPins(GPIOA,DL_GPIO_PIN_7);
        DL_TimerG_setCaptureCompareValue(TIMG0,(1000-speed),DL_TIMER_CC_0_INDEX);
	}
	else{//极性反转，改变方向
		DL_GPIO_setPins(GPIOA, DL_GPIO_PIN_7);
        DL_GPIO_clearPins(GPIOA,DL_GPIO_PIN_14);
        DL_TimerG_setCaptureCompareValue(TIMG0,(1000+speed),DL_TIMER_CC_0_INDEX);
	}
}
void Motor_right(int16_t speed)//右侧电机
{
	if(speed >= 0){
		DL_GPIO_setPins(GPIOB, DL_GPIO_PIN_15);
        DL_GPIO_clearPins(GPIOB,DL_GPIO_PIN_17);
        DL_TimerG_setCaptureCompareValue(TIMG0,(1000-speed),DL_TIMER_CC_1_INDEX);
	}
	else{//极性反转，改变方向
		DL_GPIO_setPins(GPIOB, DL_GPIO_PIN_15);
        DL_GPIO_clearPins(GPIOB,DL_GPIO_PIN_17);
        DL_TimerG_setCaptureCompareValue(TIMG0,(1000+speed),DL_TIMER_CC_1_INDEX);
	}
}
